Cs403P Assignment 2 Complete Solution